#ifndef TEXTUREPOOL_H
#define TEXTUREPOOL_H

#include <queue>
#include <GL/glfw.h>

namespace core {

	class TextureIdPool
	{
	public:
		static void Create(GLuint count);
		static void Destroy();

		static GLuint Take();
		static void Put(GLuint texId);

	private:
		static GLuint* _textures;
		static int _count;
		static std::queue<GLuint> _freeTextures;
	};
}

#endif // TEXTUREPOOL_H
